==================================================================== GetHTMLW - Version 4.x Copyright : Yutaka Endo ==================================================================== 更新履歴情報 -------------------------------------------------------------------- ver 1.3.0 ・最初のバージョン。GetHTML ver 1.2.7 をベースにバージョンアップ ・WebPage 取得中の強制終了時、未取得 URL のリトライを可能にした。 ver 1.3.1 ・Header 部分の終わりを、CR LF CR LF でなく、LF LF と返す WebServer に対応した。 ・プロキシ設定ファイルを出力。 ・WebPage データ取得を失敗したときのリトライの仕方を変えた。 ・プログラムを終了せずに Windows を終了した場合、hif, ini ファイルを 保存しないまま終わってしまう不具合に対処。 ・メインの Window の Caption 部に、ステータス表示を行うようにした。 ver 1.3.2 ・プログラム動作中に gethtml.hif の内容が壊される不具合があったため、 hif ファイルを司るモジュールの構造を変更。 ・LocalWebServer 部で、例えば URL が http://aaa.bb.cc/ddd/ 等 / で 終わっているものに対して、http://aaa.bb.cc/ddd と / を取って要求 しても WebPage データを返さないよう変更した。 ver 1.4.0 ・Configuration Dialog を日本語化したので、1.4.0 にした。 ・html の tag が例えば のように不完全だった場合にハング アップする不具合を修正。 ・LocalWebServer を起動していないときに、config しなおすと Window の caption が元に戻らない問題を修正。 ・起動、終了、re-config 後に行う処理中は、マウスポインタを変更する ようにした。 ・gethtml.hif ファイルに情報を書き出すとき、 URL の http:// 部分の 書出しをやめた。 ・文法違反だが、tag 以外の目的で < や > を使っている WebPage でハン グアップする不具合を修正 ・ 内をコメントと見なし、追跡しないようにした。 ver 1.5.0 ・[.log, .bak ファイルを出力] オプションの追加。これによりバージョン 番号をアップした。 ・Retry Dialog で、MessageBeep を発生するようにした。 ・LocalWebServer 部で、メモリエラーを生じていた不具合を修正。 ・cgi 等の、? を使っている URL の WebPage データ保存が出来ない不具合 を修正。 ・取得しない拡張子リストに、コメント * を設けた。 ・リトライ時に、追跡する必要がない URL を追っていた不具合を修正。 ・URL に ServerPort 指定のあるもの(ex. http://www.aaa.bb:8080/ )が 保存できない不具合を修正。 ・なんらかの理由で、取得した WebPage データが保存できない場合、エラー を表示し、リトライリストに追加するよう変更。 ver 1.5.1 ・リトライが出来ない不具合を修正(ver 1.5.0 でバグを埋め込んだ)。 ver 1.6.0 ・ に対応していなかったので、内部構造を大きく変えた。 これにより、バージョン番号アップ。 ・ファイルに変換できない URL の代替ファイル名が、ページ更新時に変わっ てしまう仕様を変更。 ver 1.7.0 ・マウス右クリックでポップアップメニューをだすように、UI を変更。 ・gethtml.hif に link されていない不要ファイルを消去する機能を追加。 ・上記二点により、バージョン番号アップ。 ・cgi の呼び出しで、? 以降に http:// が入っている場合、呼び出せない 不具合を修正。 ・WebPage データのファイル名が、デバイス名とぶつかっている場合に、 (例: com1.jpg 等)データが保存できない不具合を修正。 ・取得データ数が非常に多い場合にプログラムが停止してしまう不具合で、 スタックを浪費するルーチンを改良した(stack が壊れているらしいので)。 ver 1.7.1 ・メモリの利用効率を改善。 ・以前取得した WebPage data を再取得するとき、更新していない場合でも Date: フィールド(gethtml.hif に残す Header 情報)だけは更新するよう にした。 ・指定した日付以前に取得・更新チェックした WebPage data を消去する 機能を追加。 ver 1.8.0 ・環境設定ダイアログを、基本設定部と、取得条件設定部に分けた。 ・取得条件を設定してから、WebPage data を取得できるようにした。 ・初期(入力した) URL ページ上のリンクデータしか取得しないオプションを 追加。以上の機能追加、変更により、バージョン番号アップ。 ver 1.8.1 ・一つの tag (< >)内に二つ以上取得すべきデータがある場合に対応してい なかったので、修正( 等)。 ・thread の起動ルーチンを最適化した。 ・更新したデータのみ取得するメカニズムに不具合があった点を修正。 ・.pac ファイルの置き場を、Windows ディレクトリに変更。 ・gethtmlw.ini 環境設定ファイルを、Windows ディレクトリに作るよう変更 ・取得した WebPage data が save できなかった場合に Retry 出来なかった 不具合を修正。 ・GUI を変更(Server 動作、条件設定後の取得等) ver 2.0.0 ・GUI を大幅変更。取得した WebPageデータをツリー表示するようにした。 ・[WebサイトのエラーPageを保存] オプションを設定。 ver 2.0.1 ・最後に / のつく URL の扱い方を変更。 ・LocalWebServer 部の thread の起動ルーチンを最適化した。 ・メインウィンドウと、取得ダイアログの親子関係を変更し、取得中でも メインウィンドウを操作できるようにした。 ・URL ツリーにアイコン表示を追加。 ver 2.0.2 ・起動時の初期化作業時間の短縮化を計った(効果は少ない)。 ・WebServer が返すコードが 301, 302 のページの保存ディレクトリ名を '$' に変更。 ver 2.1.0 ・複数種類の URL を許容する用に変更。これによりバージョンアップ。 ・WebPage 取得時の URL 履歴(コンボボックス)の順番がおかしくなる不具 合に対処。 ・WWWブラウザで LocalWebServer をアクセスしたとき、/ で終わる存在しな い URL を指定したときにハングアップする不具合を修正。 ・gethtmlw.hif に履歴が残っているが、実体(WebPageデータ)が存在しない 場合に、URLツリーが表示されてしまう不具合を修正。 ・URLツリーをダブルクリックしたときに指定の動作を行う機能を追加。 ver 2.2.0 ・UserID と Password の必要なサイトへの認証をサポートした (WWW-Authenticate: と、Authorization:) ・取得条件の設定項目を変えた。 ・選択された URL の 情報表示機能を追加 ・取得指定した URL の下位階層にない URL まで追跡取得してしまう不具合 を修正。 ・URLツリーの再描画機能を追加。 ・履歴情報があるのに消去リストに上ってしまう不具合を修正。 ver 2.3.0 ・WebPage データと履歴情報の削除機能を追加。 ・UserID と Password を http://UserID:Password@Server/.... と指定する 書式に対応。 ver 2.3.1 ・Window の終了時の位置を次回の起動時に反映するよう変更。 ver 2.3.3(ver 2.3.2 は飛ばしてしまった) ・重複取得を抑するルーチンの最適化。 ・URL ツリー再描画の最適化。 ・「指定日付以前のファイル消去」でハングアップする不具合を修正。 ・アスタリスク(*)や、空白の入った URL(ディレクトリ)を取得できるよう 対応。 ver 2.3.4 ・WebPageデータ取得状況ダイアログの位置情報を保存するよう変更。 ・メインの Window と、取得状況ダイアログの親子関係を変更した。 ・URL に ServerPort 指定のあるもの(ex. http://www.aaa.bb:8080/ )が 保存できない不具合を修正(ver 2.3以降のバグ埋め込み)。 ・ShellExecuteによりWWWブラウザを起動するよう変更。よって、環境設定で の、[WWWブラウザのパス設定]は無くなった。 ・空白(0x20)を含む tag/link で示されたデータを取得できない不具合を修 正。 ver 2.3.5 ・thread の起動方法を見直した。 ・URL ツリー再構築中にプログラムを終了すると一般保護違反が発生する不 具合を修正。 ver 2.3.6 ・指定 URL に対するサーバの応答が moved の時、move 先の URL が / を含 まないと不具合が起きる点を修正。 ver 2.4.0 ・自動プロキシ設定ファイル proxycfg.pac ファイルの自動生成を行う ダイアログを設けた。これにより、以前使用していた proxycfg-normal.pac と proxycfg-gethtml.pac は使用しなくなったの で、自動プロキシ設定ダイアログにて、通常の WWWブラウザ用のプロキシ 設定を行ってください。 ver 2.5.0 ・取得状況ダイアログの大幅変更。 (1)Status フィールドを設け、取得済ファイルサイズを表示。 (2)Status 値をダブルクリックすると、スレッド単位で取得中止できる。 (3)取得中の URL 表示を EditControl とすることで、Cut&Paste を可能に ・取得のスレッド数を調整できるよう変更。 ver 2.5.1 ・[相対記述Linkを全て追う]オプションを指定すると、同じ URL の WebPage データを何回も取得してしまう不具合を修正。 ・「URLとして開く」「ファイルとして開く」で、OS がアプリケーション起 動エラーを返したときのエラー表示方法を変更。 ・URL Tree 表示のアイコン表示の若干の変更(HomePage は「家アイコン」で bold 表示とし、moved page は「家アイコン」であっても bold でない)。 ver 2.5.2 ・ver 2.5.1 の変更で、Retry が出来なくなった不具合を修正。 ・WebPage データ取得時、URL に何も入力せず実行すると、Window が応答し なくなる不具合を修正。 ver 2.5.3 (== 2.6.3, 間違えたバージョン番号をつけた) ・取得 URL 別の取得条件を記憶・反映できるようにした。これは、WebPage データ取得時に「条件設定後実行」を選択し、設定後、記憶させるかどうか のダイアログが出るので、これにより記憶するかどうかを選択できる。 一度記憶すると、次回からは自動的に反映される。 ・コメント tag を無視するロジックの不具合を修正。 ver 2.6.0 (28 August, 1998) ・ の移動 tag に対 応した。 ・Thread の管理クラスを見直した。 ・LocalWebServer部、send 時の一回の転送サイズを見直した。また、最大 Thread 数を 5 (受信待機 Thread 1, 転送 Thread 4) とした。 ・WebPageデータ取得中、特定スレッドを破棄するダイアログが出ている時に メインウィンドウ(URL Tree)を最小化すると、データ取得ダイアログが二度 と表示されない不具合を修正。 ・http://www.aaa.ac.jp のような、http:// 以降に一つも / が無い URL が 取得できない不具合を修正。 ・認証の必要なページへ新規にアクセスする場合にアクセスできない不具合 を修正。 ・WebPageデータ取得条件設定の、許容 URL 設定において、設定を削除しても 次回の起動後は削除されていない不具合を修正。 ・URL ツリーにて、WebPageデータの存在しない所をダブルクリックした場合 の動作を変更。 ・取得条件の、[移動Pageの完全追跡]オプションの追加。 ・このプログラムの起動直後、他のプログラムで Ctrl+C などのショートカッ トキーが効かなくなる不具合を修正。 ・「URL 情報」の表示で、html の場合タイトルを表示する機能を追加。 ver 2.6.1 (29 August, 1998) ・最後が / で終わるべき URL を / 無しで取得指定したときに追跡できない 不具合を修正(ver 2.6.0 で埋め込み) ver 2.7.0 (30 August, 1998) ・複数の URL を指定して取得を開始する機能を追加し、version UP。 ・ の扱いに不具合があり、修正した。 ・取得エラーや強制終了時の取得リトライに不具合(リトライしたはずの URL が再取得されない)があり、修正した(ver 2.5.1 よりの不具合)。 ver 3.0.0 (4 September, 1998) ・簡易ブックマーク機能を追加。これによりメジャー番号 UP。 ・ユーザインターフェイスの細部を見直し。 ・Thread ルーチンの最適化 ver 3.0.1 (6 September, 1998) ・[相対記述Linkを全て追う] オプションを有効にして取得を行うと一般保護 違反となる不具合を修正。 ・細かい UI の変更。 ver 3.1.0 (ver 3.0.2 と同じ) (12 September, 1998) ・許容 URL の設定において、拒否 URL を設定できるよう機能拡張。 ・起動時の若干の高速化(体感できなかった。WebPageデータファイルの存在 チェック(access() 関数)に時間が掛かっている模様) ・[ページ上のオブジェクトは全取得]オプションの追加。 ・LocalWebServer 内部動作の最適化。 ver 3.1.1 (14 September, 1998) ・例えば、本来 http://www.nurs.or.jp/~usagi/ である URL を http://www.nurs.or.jp/~usagi と指定しても取得できない不具合を修正(恐らく ver 2.7.0で bug を埋め 込んだ)。 ・起動時間を短縮した(その分終了に要する時間が増えた^^;) ver 3.1.2 (14 September, 1998) ・Windows 終了時に正常終了できない不具合を修正。 ver 3.2.0 (17 September, 1998) ・WebPageデータ取得中に、取得URLを追加できるよう機能追加。 ・[全てのリンクの全追跡取得]オプションの設定と、旧オプションの廃止。 ・取得階層制限数を指定できるようにし、これに絡むオプションの廃止。 ・取得残り URL 数の表示。 ・取得終了時の Status の変更(OK => Success, NotFound => NoGood 等) ・User-Agent: ヘッダをつけるようにした。 ver 4.0.0 (20 September, 1998) ・LocalWebServer 部に HTTPProxyServer 機能を持たせた。 ・高速終了を選択できるようにした。 ・Host: ヘッダを送出しないと取得できない Webサイトがあることが分かり、 送出するよう変更。User-Agent: ヘッダはやめた。 ・URL に & が使用してある WebPage データを保存できなかった不具合 を修正 ver 4.0.1 (20 September, 1998) ・プロバイダのプロキシを使用できない不具合を修正。 ・モジュール間でのメッセージの受け渡しの不具合を修正。 ・LocalWebServer 部の最大 Thread 数を 9 にした(Proxy機能が付加された ため)。 ver 4.0.2 (21 September, 1998) ・ブラウザにて LocalWebServer のモードを変えても、モードが変わらない ことがある不具合を修正。 ・環境設定内の WWWブラウザのプロキシ設定で、イントラネット用 IP マス クを使用すると LocalWebServer との通信が出来なくなる不具合を修正。 ・環境設定を行なった後、LocalWebServer が働かなくなる不具合を修正。 ver 4.0.3 (23 September, 1998) ・LocalWebSever の ProxyMode で、WWWブラウザが発行するヘッダを 欠落させて送っていた不具合を修正。 ・LocalWebServer 部の最大 Thread 数を可変にした。 待受 Thread = 1 固定、受信後処理 Thread 1~8 可変。 おそらく 8 も Thread は必要ないように思える(4 でも十分?) ・取得のタイムアウト設定を設けた。 ・LocalWebServer もタイムアウトを設定。60秒固定とした。 ・NetscapeNavigator で、ブラウザの「Reload」を行うと、WebPageデータ取 得要求となる機能を付加(LocalWebServer が ServerMode の時)。 ver 4.1.0 (26 September, 1998) ・取得部、LocalWebServer 部とも、暫定的に Post Method に対応。 (Post Method は、プッシュボタン等があるページで発生する)。 同時に、これを有効にするオプションの設定。 ・WWW ブラウザ用プロキシ設定と取得用プロキシ設定は情報が重複するため、 取得用プロキシ設定を省いた。 ・取得時タイムアウトが発生した場合、同じ URL がリトライリストに列挙 される不具合を修正。 ver 4.1.1 (26 September, 1998) ・プッシュボタン追跡処理に不具合があり修正した。 ver 4.1.2 (30 September, 1998) ・UI の見直し。 (1) LocalWebServer 部の動作状況をタスクトレイに表示した。 緑なら ProxyMode、青なら ServerMode、赤×ならServer停止を示す。 また、タスクトレイアイコンに右クリックメニューを付加。 (2) ツリーウィンドウを最小化したときに、タスクバーから消えるよう にした。消えた後表示するには、タスクトレイのアイコンを 左クリックする。 (3) 「ファイル(F)」→「環境設定(C)」の UI 変更。 「起動時メインウィンドウを隠す」オプションを追加。 (4) 環境設定 LocalWebServer の項目に、タイムアウトの設定を追加。 ver 4.2.0 (10 October, 1998) ・ftp:// の取得に対応。LocalWebServer では ftp:// は扱わない。 ・URL ツリーウィンドウの構築時間を減らした。 ・取得時余計なキャラクタを送出していたため、特定の URL が取得でき ない不具合を修正。 ・ブックマークの消去と同時に、取得データの消去も選択できるようにした。 ver 4.3.0 (15 October, 1998) ・インターネットショートカットのドロップで取得要求となる機能を追加。 ドロップ先は、URLツリーウィンドウと、ブックマークウィンドウ。 複数ドロップも出来ます(この場合は複数URL取得ダイアログが起きます)。 また、複数URL取得設定時に保存した「複数URL設定ファイル(*.mus)」を ドロップしても、複数URL取得の要求になるよう機能追加。この場合は 保存時の取得条件設定まで反映されます。 ver 4.4.0 (20, October, 1998) ・LocalWebServer 部で、ProxyMode 時に VxD レベルで例外を起こしてしま うことがあるため(Win95)、タイムアウトチェックを外した。 ・ftp:// で、FTPServer によって取得できない不具合を修正。 ・アドレスを調べる時間の短縮化を計った(DNScache)。 ・Thread 管理部の最適化。 ver 4.4.1 (22, October, 1998) ・Thread 管理部の最適化。 ・取得中の CPU 使用率を減らす細工を入れた(イベントドリブン化)。 ・LocalWebServer 部の内部構造の刷新。機能の追加等はありません。 ver 4.4.2 (23, October, 1998) ・LocalWebServer 部で、ブラウザの「リロード」で取得・モード切り替え するロジックの不具合を修正。 ver 4.5.0 (28, October, 1998) ・複数 URL 取得時にも、個々の URL の取得設定が反映されるようにした。 ・Thread 管理部の最適化。 ・DNScache はやめた。 ・「取得状況」ダイアログにて、自動でリトライを行なうチェックボックス を付けた。これをオンすると、取得できるまでリトライし続けます。 ver 4.5.1 (29, October, 1998) ・取得リトライにおける不具合の修正(ver 4.5.0 で埋め込み)。 ver 4.5.2 (30, October, 1998) ・LocalWebServer のモニタウィンドウを付加した。 これは VxD 飛ばしのデバッグ用なので、VxD 飛ばしが完全になくなった ら廃止する暫定機能であり、使用法の説明は割愛します。 ・LocalWebServer への URL で与えるコマンドを変更した (http://0.0/コマンド → http://localweb:PortNo/コマンド) ・LocalWebServer 部の処理の最適化(VxD 飛ばし見込対策) ver 4.5.3 (31, October, 1998) ・cgi など、256 文字を越える URL へのリンクがあると一般保護違反で プログラムが終了してしまう不具合を修正。 ・LocalWebServer のモードを切り替えるコマンドの変更 ver 4.5.4 (1, November, 1998) ・処理の変更(VxD 飛ばし対策) ver 4.5.5 (2 November, 1998) ・WWW ブラウザで「Reload」を選択したときに、LocalWebServer から返さ れるページのリンククリックが効かない不具合を修正(特に MS-IE)。 ver 4.5.6 (3 November, 1998) ・LocalWebServer を停止した後にいずれかのモードで動作させた場合、 動作しない不具合を修正。 ・Disk容量が不足したときに一般保護違反が発生する不具合を対処。 ・LocalWebServer のモニタウィンドウを外した。 ・コメント の記述ミスのある html 上の Link WebPage データが取得できない件を対策。 ・ の扱いを修正。 ・複数の GetHTMLW の終了ダイアログが開いてしまう不具合を修正。 ・FTP の取得に関する不具合の修正(日付処理) ver 4.5.7 (6 November, 1998) ・LocalWebServer が、IE4.x の「Reload」に反応しない不具合を修正。 ・ftp://USER:PASSWORD@net_path に対応した。 ・http://servername:8080 の様に、URL に / が無く、PORT 指定のある URL の取得保存ができない不具合を修正。 ====================================================================